

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>书籍分析</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <link rel="stylesheet" href="/static/layuiadmin/layui/css/layui.css" media="all">
  <link rel="stylesheet" href="/static/layuiadmin/style/admin.css" media="all">
</head>
<body>

<div class="layui-fluid">
  <div class="layui-card">
    <div class="layui-form layui-card-header layuiadmin-card-header-auto">
      <blockquote class="layui-elem-quote">
        <div class="layui-text">
          <ul>
            <li>数据延时一天统计</li>
            <li>阅读uv是按天去重，如果条件未选择某日期，则可能会有uv会有重合的用户，实际uv远小于所看uv</li>
            <li>算法：付费率：支付uv / 阅读uv，消费率：消费uv / 阅读uv，人均消费书币：消费书币 / 消费uv，注册充值率：注册并支付 / 注册用户</li>
            <li>人均消费书币越高代表书籍后续越好（前提是消费uv差不多）。注册充值率充值率越高代表这本书吸引新用户首充的能力越高（注册用户一致的情况）。付费率越高代表这本书的整体吸引充值情况，但uv是按天去重，所以误差很大，最好去每日明细按天对比</li>
          </ul>
        </div>
      </blockquote>
      <div class="layui-form-item">

        <div class="layui-inline">
          <input type="number" name="nid" placeholder="小说ID" autocomplete="off" class="layui-input">
        </div>

        <div class="layui-inline">
          <input type="text" id="dayStart" name="start_date" placeholder="数据开始时间" autocomplete="off" class="layui-input">
        </div>

        <div class="layui-inline">
          <input type="text" id="dayEnd" name="end_date" placeholder="数据结束时间" autocomplete="off" class="layui-input">
        </div>

        <div class="layui-inline">
          <button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="LAY-user-search">
            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
          </button>
        </div>


      </div>
    </div>
    <div class="layui-card-body">
      <table id="LAY-recommend" lay-filter="LAY-recommend"></table>
      <script type="text/html" id="toolbarDemo">
        <div class="layui-btn-container">
<!--          <button class="layui-btn layui-btn-primary layui-border-blue layui-btn-sm" lay-event="plAddNovel">批量设置书籍</button>-->
        </div>
      </script>

      <script type="text/html" id="randomTpl">
        <input type="checkbox" name="is_random" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="random" {{#  if(d.is_random == 1){ }}checked{{# }}}>
      </script>


      <script type="text/html" id="table-useradmin-admin">
        <a class="layui-btn layui-btn-primary layui-border-green layui-btn-xs" lay-href="/novel/dataDetail.html?id={{d.nid}}" lay-text="书籍每日明细">每日明细</a>
        <a class="layui-btn layui-btn-primary layui-btn-xs" lay-href="/novel/againFx.html?id={{d.nid}}" lay-text="书籍复充详情">复充分析</a>
      </script>
    </div>


  </div>

</div>


<script src="/static/layuiadmin/layui/layui.js"></script>
<script>
  layui.config({
    base: '/static/layuiadmin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index','table','admin','laydate'], function(){
    var $ = layui.$
            ,form = layui.form
            ,admin = layui.admin
            ,table = layui.table;
    var laydate = layui.laydate;


    form.on('submit(LAY-user-search)', function(data){
      var field = data.field;
      //执行重载
      table.reload('LAY-recommend', {
        where: field
        ,page: {
          curr: 1  // 将页码重置为第一页
        }
      });
    });

    var nowTime = new Date().valueOf();
    var start = laydate.render({
      elem: '#dayStart',
      type: 'date',
      max: nowTime,
      done: function (value, date) {
        endMax = end.config.max;
        end.config.min = date;
        end.config.min.month = date.month - 1;
      }
    });
    var end = laydate.render({
      elem: '#dayEnd',
      type: 'date',
      max: nowTime,
      done: function (value, date) {
        if ($.trim(value) == '') {
          var curDate = new Date();
          date = {
            'date': curDate.getDate(),
            'month': curDate.getMonth() + 1,
            'year': curDate.getFullYear()
          };
        }
        start.config.max = date;
        start.config.max.month = date.month - 1;
      }
    });


    form.on('submit(export)', function(data){
      var field = data.field;
      var queryString = $.param(field);
      window.location.href = "{:url('website/recommendExport')}?"+queryString+'';
      return false;
    });


    table.render({
      elem: '#LAY-recommend'
      , url: '/novel/dataAnalysis' //模拟接口
      , response: {
        statusCode: 1 //规定成功的状态码，本来是：0，现在统一改为1
      }
      ,initSort: {
        field: 'uv' //排序字段，对应 cols 设定的各字段名
        ,type: 'desc'
      }
      ,even: true //开启隔行背景
      , cellMinWidth: 100
      , page: true //开启分页
      , limit: 20
      , limits: [10, 20, 30, 50, 100]
      , cols: [
        [ {field: 'nid', title: '小说ID', width: 80}
          , {field: 'name', title: '小说名称', minWidth: 100}
          , {field: 'uv', title: '阅读uv', sort: true}
          , {field: 'pay_uv', title: '支付uv',sort: true, style:'background-color: #eee;'}
          , {field: 'money', title: '充值金额',sort: true, style:'background-color: #eee;'}
          , {field: 'pay_rate', title: '付费率', style:'background-color: #eee;'}
          , {field: 'cuv', title: '消费uv',sort: true, style:'background-color: #BCB;'}
          , {field: 'use_coin', title: '消费书币',sort: true, style:'background-color: #BCB;'}
          , {field: 'c_rate', title: '消费率', style:'background-color: #BCB;'}
          , {field: 'c_rj', title: '人均消费书币', style:'background-color: #BCB;'}
          , {field: 'new_uv', title: '注册用户',sort: true, style:'background-color: #EDC;'}
          , {field: 'new_pay_uv', title: '注册并支付',minWidth: 120,sort: true, style:'background-color: #EDC;'}
          , {field: 'new_rate', title: '注册充值率', style:'background-color: #EDC;'}
          , {field: 'new_money', title: '注册用户当日充值',minWidth: 160,sort: true, style:'background-color: #EDC;'}
          , {
          title: '操作',
          minWidth: 180,
          align: 'center',
          fixed: 'right',
          toolbar: '#table-useradmin-admin',
        }]]
    });


    //触发排序事件
    table.on('sort(LAY-recommend)', function(obj){ //注：sort 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
      console.log(obj.field); //当前排序的字段名
      console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
      console.log(this); //当前排序的 th 对象

      //尽管我们的 table 自带排序功能，但并没有请求服务端。
      //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
      table.reload('LAY-recommend', {
        initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。
        ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
          field: obj.field //排序字段
          ,order: obj.type //排序方式
        }
        ,page: {
          curr: 1  // 将页码重置为第一页
        }
      });
      //layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
    });




    //监听开关
    form.on('switch(random)', function(data){
      if (data.elem.checked == true) {
        var value = 1;
      } else {
        var value = 0;
      }
      admin.req({
        url: '/website/switchRandom'
        , type: "POST"
        , data: {'id': data.value, 'is_random': value}
        , done: function (res) {
          layer.msg('设置成功', {icon: 1, time: 1000}, function () {
          });
        }, not_finish: function (res) {
          layer.msg(res.msg,function () {
            table.reload('LAY-recommend');
          });
        }
      });
    });


    //监听工具条
    table.on('tool(LAY-recommend)', function(obj){
      var data = obj.data;
      if (obj.event === 'del'){
        alert(1);
      }
    });


  });
</script>
</body>
</html>

